<?php
namespace PingNa\Controller;
use Think\Controller;
class MessageController extends HomeCommonController {
    private $message = '留言成功！我们的客服经理会尽快跟您联系！';
    private $phoneMseeage = '我们的客服经理即将给您电话，请您耐心等待.....';
    public function saveMessage(){
        $this->_unflish();//防止重复提交
        $db = M('guestbook');
        $db->username = I('get.username');
        $db->tel = I('get.tel');
        $db->content = I('get.content');
            $validate = array(
                array('username', 'require', '输入姓名不能为空！'),
                // array('content', 'require', '留言内容不能为空！'),
                array('tel', 'require', '手机号码输入不能为空！'),
                //array('tel', 'unique', '您输入的号码已存在！'),
                //array('email', 'email', '邮箱格式不正确'), // 内置正则验证邮箱格式
                array('tel', '/^1[34578]\d{9}$/', '手机号码输入格式不正确', 0), // 正则表达式验证手机号码
            );
            $auto = array(
                array('posttime', 'time', 1, 'function'),
                array('ip', 'get_client_ip', 1, 'function'),
            );
            if (!$db->auto($auto)->validate($validate)->create()) { //如果失败
                $info = [
                    'code'=>2,
                    'msg'=>$db->getError()
                ];
                print_r(JSON_encode($info));
            } else {
                if ($id = $db->add()) { //添加成功
                    $info = [
                        'code'=>1,
                        'msg'=>$this->message
                    ];
                    print_r(JSON_encode($info));
                    self::inputCache('messageflag'); //加入缓存
                } else {
                    print_r(json_encode('添加失败'));
                }
            }
    }

    public function savePhone(){
        $this->_unflish();//防止重复提交
        $phone = I('get.phone');
        $db = M('phone');
        $db->phone = $phone;
        $phoneCount = M('phone')->where(['phone'=>$phone])->count();
        if(!($phoneCount>0)) {
            $validate = array(
                array('phone', 'require', '输入号码不能为空！'),
                // array('phone', 'unique', '您输入的号码已存在！'),
                array('phone', '/^1[34578]\d{9}$/', '输入号码格式不正确', 0), // 正则表达式验证手机号码
            );
            $auto = array(
                array('public_time', 'time', 1, 'function'),
            );
            if (!$db->auto($auto)->validate($validate)->create()) { //如果失败
                $info = [
                    'code'=>2,
                    'msg'=>$db->getError()
                ];
                print_r(JSON_encode($info));
            } else {
                if ($id = $db->add()) {
                    $info = [
                        'code'=>1,
                        'msg'=>$this->phoneMseeage
                    ];
                    print_r(JSON_encode($info));
                    self::inputCache('phoneflag'); //加入缓存
                } else {
                    print_r(JSON_encode('添加失败'));
                }
            }
        }else{
            $info = [
                'code'=>2,
                'msg'=>'您输入的号码已存在'
            ];
            print_r(JSON_encode($info));
        }
        self::ipInputCache();
    }

    private function inputCache($name='messageflag'){
        $value = M('cache')->find($name)['value'];
        $db = M('cache');
        $value++;
        $db->value = $value;
        $db-> where(['key'=>$name])->save();
        S($name,$value);
    }
    private function ipInputCache(){
        $ip = get_client_ip();
        S($ip,time());
    }

    public function tgMessage(){
        $this->_unflish();//防止重复提交
        $db = M('guestbook');
        $db->username = I('get.username');
        $db->tel = I('get.tel');
        $db->adress = I('get.wx');
        $db->content = I('get.content');
        $db->msg_type = 'tg_pc_msg';
        $db->wx = I('wx');
        $db->r_back = I('r_back');
            $validate = array(
                array('username', 'require', '输入姓名不能为空！'),
                // array('content', 'require', '留言内容不能为空！'),
                array('tel', 'require', '手机号码输入不能为空！'),
                //array('tel', 'unique', '您输入的号码已存在！'),
                //array('email', 'email', '邮箱格式不正确'), // 内置正则验证邮箱格式
                array('tel', '/^1[34578]\d{9}$/', '手机号码输入格式不正确', 0), // 正则表达式验证手机号码
            );
            $auto = array(
                array('posttime', 'time', 1, 'function'),
                array('ip', 'get_client_ip', 1, 'function'),
            );
            if (!$db->auto($auto)->validate($validate)->create()) { //如果失败
                $info = [
                    'code'=>2,
                    'msg'=>$db->getError()
                ];
                print_r(JSON_encode($info));
            } else {
                if ($id = $db->add()) { //添加成功
                    $info = [
                        'code'=>1,
                        'msg'=>$this->message
                    ];
                    print_r(JSON_encode($info));
                    self::inputCache('messageflag'); //加入缓存
                } else {
                    print_r(json_encode('添加失败'));
                }
            }

    }

    public function tgPhoneMsg(){
        $this->_unflish();//防止重复提交
        $db = M('guestbook');
        $db->username = I('get.username');
        $db->tel = I('get.tel');
        $db->content = I('get.content');
        $db->msg_type = 'tg_phone_msg';
        $validate = array(
            array('username', 'require', '输入姓名不能为空！'),
            // array('content', 'require', '留言内容不能为空！'),
            array('tel', 'require', '手机号码输入不能为空！'),
            //array('tel', 'unique', '您输入的号码已存在！'),
            //array('email', 'email', '邮箱格式不正确'), // 内置正则验证邮箱格式
            array('tel', '/^1[34578]\d{9}$/', '手机号码输入格式不正确', 0), // 正则表达式验证手机号码
        );
        $auto = array(
            array('posttime', 'time', 1, 'function'),
            array('ip', 'get_client_ip', 1, 'function'),
        );
        if (!$db->auto($auto)->validate($validate)->create()) { //如果失败
            $info = [
                'code'=>2,
                'msg'=>$db->getError()
            ];
            print_r(JSON_encode($info));
        } else {
            if ($id = $db->add()) { //添加成功
                $info = [
                    'code'=>1,
                    'msg'=>$this->message
                ];
                print_r(JSON_encode($info));
                self::inputCache('messageflag'); //加入缓存
            } else {
                print_r(json_encode('添加失败'));
            }
        }
    }

}?>